// samsting : this file is auto create.

#ifndef ALIYUN_Yundun_ListInstanceInfosResponse_H_
#define ALIYUN_Yundun_ListInstanceInfosResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Yundun {

class ListInstanceInfosResponse : public AcsResponse {
public:
  ListInstanceInfosResponse();

  class InstanceInfo {
    friend class ListInstanceInfosResponse;
  public:
    const string& GetRegion(void) const;
    const string& GetRegionName(void) const;
    const string& GetRegionEnName(void) const;
    const string& GetInstanceName(void) const;
    const string& GetInstanceId(void) const;
    const string& GetIp(void) const;
    const string& GetInternetIp(void) const;
    const string& GetIntranetIp(void) const;
    int  GetDdos(void) const;
    int  GetHostEvent(void) const;
    int  GetSecureCheck(void) const;
    int  GetAegisStatus(void) const;
    int  GetWaf(void) const;
    bool GetIsLock(void) const;
    const string& GetLockType(void) const;
    int  GetUnLockTimes(void) const;
    const string& GetTriggerTime(void) const;
  private:
    string Region_;
    string RegionName_;
    string RegionEnName_;
    string InstanceName_;
    string InstanceId_;
    string Ip_;
    string InternetIp_;
    string IntranetIp_;
    int    Ddos_;
    int    HostEvent_;
    int    SecureCheck_;
    int    AegisStatus_;
    int    Waf_;
    bool   IsLock_;
    string LockType_;
    int    UnLockTimes_;
    string TriggerTime_;
  }; // InstanceInfo 

  const std::vector<InstanceInfo>& GetInfosList(void) const;
  int  GetPageNumber(void) const;
  int  GetPageSize(void) const;
  int  GetTotalCount(void) const;

private:
  std::vector<InstanceInfo> InfosList_;
  int    PageNumber_;
  int    PageSize_;
  int    TotalCount_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Yundun {

#endif // #ifndef ALIYUN_Yundun_ListInstanceInfosResponse_H_

// end of file 
